@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

REM 数据库迁移脚本运行器
REM 为 character_resources 表添加钱庄余额字段

echo 🚀 开始执行数据库迁移脚本
echo 📅 执行时间: %date% %time%
echo.

REM 检查是否在正确的目录
if not exist "package.json" (
    echo ❌ 错误: 请在 nestjs-app 目录下运行此脚本
    pause
    exit /b 1
)

REM 检查依赖是否安装
if not exist "node_modules" (
    echo 📦 安装依赖包...
    call npm install
)

REM 检查 mysql2 是否安装
call npm list mysql2 >nul 2>&1
if errorlevel 1 (
    echo 📦 安装 mysql2 依赖...
    call npm install mysql2
)

REM 检查 dotenv 是否安装
call npm list dotenv >nul 2>&1
if errorlevel 1 (
    echo 📦 安装 dotenv 依赖...
    call npm install dotenv
)

echo ✅ 依赖检查完成
echo.

REM 设置环境变量（如果存在 .env 文件）
if exist ".env" (
    echo 📄 发现 .env 文件，加载环境变量...
    for /f "tokens=1,2 delims==" %%a in (.env) do (
        if not "%%a"=="" if not "%%a:~0,1%"=="#" (
            set "%%a=%%b"
        )
    )
    echo ✅ 环境变量加载完成
) else (
    echo 📄 未发现 .env 文件，将使用默认配置
)

echo.

REM 确认执行
echo ⚠️  警告: 此操作将修改数据库结构
echo 请确保已备份数据库
echo.
set /p "confirm=是否继续执行迁移? (y/N): "

if /i not "%confirm%"=="y" (
    echo ❌ 用户取消执行
    pause
    exit /b 0
)

echo.

REM 执行迁移脚本
echo 🔧 执行数据库迁移...
node add-balance-fields-migration.js

echo.
echo 🎯 迁移脚本执行完成
echo 请检查上述输出确认迁移是否成功
pause
